package com.bird.设计原则.接口隔离原则;

/**
 * @data 2022/1/9 11:06
 * @author: bird
 * @description: 接口隔离原则
 * 定义一个动物行为接口：然后定义三个行为 eat and fly and swim 等
 * 但是并不是所有的动物都 会飞 和游泳 那么这个时候 需要将这三个行为隔离出来 分别定义三个不同行为的接口
 * 每个接口可以定义同一类的行为 例如
 *  IEatAnimalAction接口：可以专门定义和吃相关的行为
 *  IFlyAnimalAction接口：可以专门定义和飞相关的行为
 *  ISwimAnimalAction接口：可以专门定义和游泳相关的行为
 *
 *  这样的话：不同的动物实现不同的接口 然后就具有不同的行为功能。
 * 这样的话就在接口层面做到了隔离 如果后期想要再给这个动物添加新的行为 如果是同一类的行为可以在接口层面上添加行为。
 *
 */
public interface IAnimalAction {

    //动物可以吃的行为
    void eat();

    // 动物可以飞的行为
    void fly();

    //动物可以游泳的行为
    void swim();
}
